﻿using System;
using System.IO;

namespace Framework.Core.Recorder
{
    public sealed class StateFullHardMock : IHardMock
    {
        readonly HardMock hardMock;

        public StateFullHardMock(params Type[] excludedTypes)
        {
            hardMock = new HardMock(excludedTypes);
        }

        public T BuildRecorderOver<T>(T target) where T : class
        {
            return hardMock.BuildRecorderOver(target, new StateFullCallKeyBuilder());
        }

        public T BuildMockFrom<T>(Stream stream) where T : class
        {
            return hardMock.BuildMockFrom<T>(stream, new StateFullCallKeyBuilder());
        }
    }
}